# 声明一个类
class Human:
    # 成员属性
    color = '黄色'
    age = 18
    name = '菊花'

    #repr魔术方法，在通畅的类中，repr重载相当于str也被重载
    def __repr__(self):
        print("repr方法被触发")
        return "repr返回的数据"

    #所有的类都默认存在一个等式　
    #__str__=__repr将repr的方法赋值给str方法，完全一样　

    def eat(self):
        print("海鲜真好吃")

    def drink(self):
        print("啤酒真好喝")

#实例化对象
jh=Human()
#打印对象,如果不重写，则打印的是jh对象的内存地址<__main__.Human object at 0x7f34a5346908>
#重写后则打印的是self.name＝菊花

#触发方式一
#print(jh)

# #repr应用
mysong='我\n喜欢\t你'
# print(mysong)
print(str(mysong))
#正常情况下，类中的__str__和__repr__魔术方法是完全一样的（字符串中的__str__和__repr__不一样）
# #使用repr函数转换并且打印
print(repr(mysong))

